from PyQt5.QtWidgets import *
from PyQt5.QtSql import *
from PyQt5.QtCore import *

import sys
import logging                                                                  # запись логов

if __name__ == '__main__':

    app = QApplication(sys.argv)

    import logging
    logging.basicConfig(filename='blob.log',level=logging.DEBUG,
        format = u'%(filename)s[LINE:%(lineno)d]# %(levelname)-8s %(message)s')
        
    from connmysql import conn_sql
    db = conn_sql("order.ini")
    if not db:
        logging.error('Нет соединения с БД')
        print("нет соединения")
        quit()
    logging.debug('Соединение с БД')
    """ работающий код на 100%. Открываем файл как бинарный. Читаем всё в переменную.
    Бинарик пишем строго через вставки значений через параметры (prepare)
    питоновский binary нужно перевестив в QByteArray"""

    data = open('vb.jpg', 'rb').read()
    print(len(data),type(data))
    query = QSqlQuery()
    query.prepare("UPDATE store SET logo=(:data) WHERE rec_id = 402;")
    query.bindValue(":data", QByteArray(data))
    query.exec_()
    db.close()    
